/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* deleteDuplicates(ListNode* head) {
        //放进空指针就直接返回空指针
        if (head == nullptr)
        {
            return nullptr;
        }
        ListNode* p = head;
        while (p != nullptr)
        {
            ////下一个不为空且这一个与下一个相等
            while (p->next != nullptr&&p->val == p->next->val )
            {
                //下个相等，下下个又是空，直接抛弃后两个，直接本次指针指向空。
                if (p->next->next == nullptr)
                {
                    p->next = nullptr;
                    break;
                }
                else
                {
                    //本次的指针指向下下个
                    p->next = p->next->next;
                }
            }
            p = p->next;
        
        }
        return head;
    }
};

作者：lidongcheng
链接：https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/solution/jian-dan-qing-chu-xie-bie-ren-kan-de-don-ff6w/
来源：力扣（LeetCode）
著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。